// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import apis from '@/apis/apis.js'

import user from '@/store/modules/user.js'
Vue.use(Vuex)

const store = new Vuex.Store({
	state: {
		isLogin: null,
		userInfo: {
			authStatus: null // null 还未提交认证  0待审核 1 成功 2 拒绝
		},
		shopCart: { // 购物车信息
			amount: 0,
			detail: null,
			count: 0
		},
		createOrderData: {}
	},
	mutations: {
		SET_ISLOGIN(state, payload) {
			state.isLogin = payload
		},
		SET_USERINFO(state, payload) {
			state.userInfo = payload
		},
		SET_SHOPCAR(state, payload) {
			state.shopCart = payload
		},
		SET_CREATEORDER_DATA(state, payload) {
			state.createOrderData = payload
		}
	},
	actions: {
		login({
			commit
		}, payload) {
			uni.navigateTo({
				url: '/pages/login/login'
			})
			// 去登录
			// uni.showModal({
			// 	title: '授权登录',
			// 	content: '是否授权登录微信小程序？',
			// 	success: res => {
			// 		if (res.confirm) {
			// 		    console.log('用户点击确定')
			// 			uni.getUserProfile({
			// 				desc: '登录后可同步数据',
			// 				lang: 'zh_CN',
			// 				success: (infoRes) => {
			// 					console.log('用户信息-----------', infoRes)
			// 					//获取code
			// 					uni.login({
			// 						provider: 'weixin',
			// 						success: (loginRes) => {
			// 							console.log('获取code-----------', loginRes)
			// 							//调用接口传递参数
			// 							let params = {
			// 								code: loginRes.code,
			// 								avatarUrl: infoRes.userInfo.avatarUrl
			// 								// encryptedData: infoRes.encryptedData,
			// 								// iv: infoRes.iv,
			// 								// signature: infoRes.signature,
			// 								// rawData: infoRes.rawData
			// 							};
			// 							console.log('将参数传给后端-----------', params)
			// 							apis.user.getOpenid(params).then(res => {
			// 								uni.setStorageSync('openid', res.data.openid)
			// 								commit('SET_ISLOGIN', 1)
			// 								commit('SET_USERINFO', res.data.userInfo)
			// 								uni.reLaunch({
			// 									url: '/pages/index/index'
			// 								})
			// 							})
			// 						},
			// 						fail: function(err) {
			// 							uni.showToast({
			// 								icon: 'none',
			// 								title: '授权失败'
			// 							})
			// 						}
			// 					});
			// 				},
			// 				fail: function(err) {
			// 					uni.showToast({
			// 						icon: 'none',
			// 					title: '授权失败'
			// 					})
			// 				}
			// 			});
			// 		} else if (res.cancel) {
			// 		  console.log('用户点击取消')
			// 		}
			// 	}
			// })
		},
		getIsLogin({
			commit
		}, payload) {
			const isLogin = uni.getStorageSync('openid') ? 1 : 2
			commit('SET_ISLOGIN', isLogin)
		},
		async getUserInfo({
			commit
		}, payload) {
			const data = await apis.user.getUserInfo()
			uni.setStorageSync('typeA', data.data.type)
			if (data.data.type != 2) {
				uni.setStorageSync('openidA', null)
			}
			commit('SET_USERINFO', data.data)
		},
		async getShopCart({
			commit
		}, payload) {
			const data = await apis.order.getShopCart()
			let count = 0
			for (let i = 0; i < data.data.detail.length; i++) {
				count += data.data.detail[i].count
			}
			data.data.count = count
			commit('SET_SHOPCAR', data.data)
		},
		setCreateOrderData({
			commit
		}, payload) {
			commit('SET_CREATEORDER_DATA', payload)
		}
	},
	modules: {
		user
	}
})

export default store